Skip to content

Conversation

@cjermain
Copy link
Owner

This commit updates all dependencies to their latest compatible versions and resolves issue #1 by excluding the pymodule line from coverage.

Changes:

  • Update GitHub Actions workflow:
    • Replace deprecated actions-rs/toolchain with dtolnay/rust-toolchain
    • Update actions/checkout from v4 to v5
  • Update Python dependencies:
    • pytest: 8.3.4 → 8.4.2
    • maturin: 1.8.1 → 1.9.6
    • Update build-system to require maturin>=1.9
  • Update Rust dependencies:
    • PyO3: 0.23.3 → 0.23.5 (latest patch release, no breaking changes)
  • Fix coverage to reach 100%:

All updates are backwards-compatible and maintain test compatibility. The coverage fix resolves issue #1 without affecting functionality.

Fixes #1

🤖 Generated with Claude Code

This commit updates all dependencies to their latest compatible versions
and resolves issue #1 by excluding the pymodule line from coverage.

Changes:
- Update GitHub Actions workflow:
  * Replace deprecated actions-rs/toolchain with dtolnay/rust-toolchain
  * Update actions/checkout from v4 to v5
- Update Python dependencies:
  * pytest: 8.3.4 → 8.4.2
  * maturin: 1.8.1 → 1.9.6
  * Update build-system to require maturin>=1.9
- Update Rust dependencies:
  * PyO3: 0.23.3 → 0.23.5 (latest patch release, no breaking changes)
- Fix coverage to reach 100%:
  * Add #[cfg_attr(coverage, coverage(off))] to _foobar pymodule
  * This excludes the pymodule initialization code that cannot be
    directly tested (see rust-lang/rust#84605)

All updates are backwards-compatible and maintain test compatibility.
The coverage fix resolves issue #1 without affecting functionality.

Fixes #1

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude <noreply@anthropic.com>
Replace unstable Rust coverage attribute with standard LCOV exclusion
markers that work with stable Rust and are recognized by CodeCov.

Changes:
- Remove #[cfg_attr(coverage, coverage(off))] (requires nightly Rust)
- Add LCOV_EXCL_START/LCOV_EXCL_STOP comments around pymodule function
- Add .codecov.yml configuration for 100% coverage target
- Document the exclusion reason with reference to rust-lang/rust#84605

This approach works with stable Rust and the existing cargo-llvm-cov setup.

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude <noreply@anthropic.com>
Add a succinct explanation of LCOV_EXCL_START/STOP markers used to
exclude PyO3 module initialization code from coverage analysis.

Links to:
- LCOV exclusion marker documentation (Ubuntu man pages)
- Rust issue explaining why PyO3 module code cannot be tested

Maintains the existing README style: technical, clear, and focused
on explaining why these markers are necessary.

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude <noreply@anthropic.com>
@cjermain cjermain merged commit 449277f into main Oct 29, 2025
2 checks passed
@cjermain cjermain deleted the claude/session-011CUYo18ZqbutpJ67DM6jab branch October 29, 2025 01:19
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Exclude pymodule line

3 participants